﻿using System;
using Flatland.GeneticProgramming.CoreTypes;

namespace Flatland.GeneticProgramming.TestGenes_Do_not_modify_ {
    [Serializable]
    public class FactoredDna2 : GenoType, IExpression<int> {
        /*
         * Tests will look for 42 + 1 terminals
         */
        [Primitive(42)]
        public int i;

        [Primitive]
        public int[] Ints = new []{123};

        [Primitive]
        public string ignoredString = string.Empty;


        /*
         * Tests will look for 17 + 1 functions
         */
        [Primitive(17)]
        public int Fun(int a, int b) {
            return a;
        }

        [Primitive]
        public int Fun2(int a)
        {
            return a;
        }

        [Primitive]
        public ConsoleColor DontCountMe(int a) {
            return ConsoleColor.DarkGray;
        }


        public override object Clone() {
            return new FactoredDna2();
        }

        public override double Fitness() {
            throw new NotImplementedException();
        }

        protected override void Act(ref string msg)
        {
            throw new NotImplementedException();
        }
    }
}
